#include<stdio.h>
#include<string.h>
#include<limits.h>
void itoa(int ,char [],int);
void reverse(char []);
int main()
{
  int n,min;
  char s[20];
  
  printf("enter a number");
  scanf("%d",&n);
  printf("enter the minimum width");
  scanf("%d",&min);
  itoa(n,s,min);
  printf("the number stored as string is" );
  puts(s);
  return 0;
}
void itoa(int n,char s[],int min)
{
  int i,sign,flag=0;
 
  if(n==INT_MIN)
  {
   n=(-n)-1; 
   flag=1;
  }
  else if((sign=n)<0)
    n=-n;
    
    i=0;
    if(flag==1 && i==0)
      {
        s[i++]=(n%10 +1) +'0';
        n=n/10;
      }
 
    do{
       s[i++]=(n%10 + '0');
      }
    while((n=n/10)>0);

    if(sign<0 || flag==1)
       s[i++]='-';
    if(i<min)
    {
       while(i!=min)
       {
        s[i++]=' ';
       }
    }

    s[i]='\0';
    reverse(s);
}

void reverse(char s[])
{
  char temp;
  int i,j;

  for(i=0,j=strlen(s)-1;i<j;i++,j--)
    {
      temp=s[i];
      s[i]=s[j];
      s[j]=temp;
    }   
}
 


  
  
